Root cause analysis and recovery systems and methods

ABSTRACT

Methods and systems are provided for recovering from an error in a speech recognition system. In one embodiment, a method includes: receiving, by a processor, a first command recognized from a first speech utterance by a first language model; receiving, by the processor, a second command recognized from the first speech utterance by a second language model; determining, by the processor, at least one of similarities and dissimilarities between the first command and the second command; processing, by the processor, the first command and the second command with at least one rule of an error model based on the similarities and dissimilarities to determine a root cause; and selectively executing a recovery process based on the root cause.

TECHNICAL FIELD

The technical field generally relates to speech systems, and moreparticularly relates to methods and systems for detecting a root causeof a speech recognition error and recovering from the error based on theroot cause.

BACKGROUND

Speech systems perform speech recognition on speech uttered by a user.For example, vehicle speech system performs speech recognition on speechuttered by an occupant of the vehicle. The speech utterances typicallyinclude commands that control one or more features of the vehicle orother systems accessible by the vehicle speech system.

In some instances, errors may occur in the speech recognition. Speechrecognition errors are problematic and can cause users to stop using thesystem. For example, the user may not understand why the error isoccurring and or understand how to fix the error so the user simplystops using the speech system.

Accordingly, it is desirable to provide methods and systems foridentifying a root cause of a speech recognition error. It is furtherdesirable to provide methods and system for recovering from errors basedon an identified root cause. Furthermore, other desirable features andcharacteristics of the present invention will become apparent from thesubsequent detailed description and the appended claims, taken inconjunction with the accompanying drawings and the foregoing technicalfield and background.

SUMMARY

Methods and systems are provided recovering from an error in a speechrecognition system. In one embodiment, a method includes: receiving, bya processor, a first command recognized from a first speech utterance bya first language model; receiving, by the processor, a second commandrecognized from the first speech utterance by a second language model;determining, by the processor, at least one of similarities anddissimilarities between the first command and the second command;processing, by the processor, the first command and the second commandwith at least one rule of an error model based on the similarities anddissimilarities to determine a root cause; and selectively executing arecovery process based on the root cause.

In another example, a system includes a first non-transitory modulethat, by a processor, receives a first command recognized from a firstspeech utterance from a first language model, receives a second commandrecognized from the first speech utterance from a second language model,and determines at least one of similarities and dissimilarities betweenthe first command and the second command. The system further includes asecond non-transitory module that, by a processor, processes the firstcommand and the second command with at least one rule of an error modelbased on the similarities and dissimilarities to determine a root cause.The system further includes a third non-transitory module that, by aprocessor, selectively executes a recovery process based on the rootcause.

DESCRIPTION OF THE DRAWINGS

The exemplary embodiments will hereinafter be described in conjunctionwith the following drawing figures, wherein like numerals denote likeelements, and wherein:

FIG. 1 is a functional block diagram of a vehicle that includes a speechsystem in accordance with various exemplary embodiments;

FIG. 2 is a dataflow diagrams illustrating an error detection andrecovery module of the speech system in accordance with variousexemplary embodiments; and

FIG. 3 is a sequence diagram illustrating error detection and recoverymethods that may be performed by the speech system in accordance withvarious exemplary embodiments.

DETAILED DESCRIPTION

The following detailed description is merely exemplary in nature and isnot intended to limit the application and uses. Furthermore, there is nointention to be bound by any expressed or implied theory presented inthe preceding technical field, background, brief summary or thefollowing detailed description. As used herein, the term module refersto an application specific integrated circuit (ASIC), an electroniccircuit, a processor (shared, dedicated, or group) and memory thatexecutes one or more software or firmware programs, a combinationallogic circuit, and/or other suitable components that provide thedescribed functionality.

With initial reference to FIG. 1, in accordance with exemplaryembodiments of the present disclosure, a speech system 10 is shown to beincluded within a vehicle 12. The speech system 10 provides speechrecognition and a dialog for one or more vehicle systems 13 through ahuman machine interface module (HMI) module 14. Such vehicle systems 13may include, for example, but are not limited to, a phone system 16, anavigation system 18, a media system 20, a telematics system 22, anetwork system 24, or any other vehicle systems or non-vehicle systems26 that may include a speech dependent application. As can beappreciated, one or more embodiments of the speech system 10 of thepresent disclosure can be applicable to systems other than a vehicle,for example, a watch, a robot, a portable electronic device, etc. andthus, is not limited to the present vehicle example. For exemplarypurposes, the speech system 10 will be discussed in the context of thevehicle example.

In various embodiments, the speech system 10 communicates with themultiple vehicle systems 16-24 and/or other vehicle and non-vehiclesystems 26 through the HMI module 14 and a communication bus and/orother communication means 28 (e.g., wired, short range wireless, or longrange wireless). The communication bus can be, for example, but is notlimited to, a CAN bus.

Generally speaking, the speech system 10 includes an automatic speechrecognition (ASR) module 32, a dialog manager module 34, and an errordetection and recovery module 36. As can be appreciated, the ASR module32 and the dialog manager module 34 may be implemented as separatesystems and/or as a combined system. As can further be appreciated, themodules of speech system 10 can be implemented all on the vehicle 12 orpart on the vehicle 12 and part on a remote system such as a remoteserver (not shown).

In various embodiments, the ASR module 32 receives and processes speechutterances from the HMI module 14. The ASR module 32 generatesrecognized commands from the speech utterance. In accordance with thepresent disclosure, the ASR module 32 processes the speech utterancesusing at least two different language models 38, 40. The ASR module 32produces a recognized command from each of the two different languagemodels 38, 40. Each model used offers an advantage in at least one ofthe following: the number of phrases supported, the depth of thephrases, a latency of the processing, the accuracy of the recognition,and the processing time. The combination of the models chosen providesadvantages in at least two of the above listed. For example, in variousembodiments, the first language model 38 can be a fixed model thatincludes a fixed list of recognizable commands, referred to as a fixedlist model. A fixed list model offers the advantage of improved latency,improved accuracy, and improved processing time and can be considered amore optimal model. Such model can include, but is not limited to aFinite State Grammar (FSG). In another example, the second languagemodel 40 can have a broader scope of recognition of phrases, referred toas a wider scope model. A wider scope model recognizes a wider scope ofcommands however, provides higher latency and decreased accuracy. Suchmodel can include, but is not limited to, a Statistical Language Model(SLM). As can be appreciated, the models implemented by the ASR module32 can be any language models and are not limited to the presentexamples. The dialog manager module 34 typically receives the results ofASR module 32 and manages an interaction sequence and prompts that aredelivered back to the user through the HMI module 14.

In some instances, errors may occur in the process of recognizing thecommands. The error detection and recovery module 36 receives the two ormore recognized commands from the ASR module 32 and processes therecognized commands for errors. For example, if the two recognizedcommands are not substantially the same, the error detection andrecovery module 36 processes the recognized commands with an error modelto identify a root cause. In various embodiments, the error modelincludes rules for identifying errors between two commands and rootcauses associated with the rules.

For example, an exemplary speech utterance may include: “Call Dorian onmobile.” The first language model 38 may produce the recognized command:“Call three one one,” if a contact list that lists Dorian cannot befound. Similarly, the second language model 40 may produce therecognized command: “Call phone and on mobile.” The error detection andrecovery module 36 processes the two recognized commands with the errormodel. The error model identifies similarities and/or dissimilarities inthe commands and selects one or more particular rules based on thesimilarities and/or dissimilarities. For example, given the aboveexample, the error model identifies the “call” instruction as asimilarity. The error model selects a rule associated with the “call”similarity and processes the two recognized commands with the rule. Anexample “call” rule may include: if a first recognized command wasgenerated by a FSG language model and includes numbers, and the secondrecognized command was generated by a SLM language model and includes arandom object, then the root cause is “no contact list.” As can beappreciated, this rule is merely one example, as the error model caninclude any number of rules defined for any number of similarities anddissimilarities. In various embodiments, the rules are defined based onsimilarities and/or dissimilarities that are commonly generated by twoknown language models.

Once the root cause has been identified, the error detection andrecovery module 36 makes an attempt to recover from the error withoutthe user's participation and/or with the user's participation. Forexample, the error detection and recovery module 36 may generate signalsto one or more of the vehicle systems 13 to recover without the need ofthe user's participation. Given the example above, if the root cause is“no contact list,” the error detection and recovery module 36 maygenerate control signals to a Bluetooth system (e.g., of the networksystem 24) or other system of the vehicle 12 to reload a contact listand inform the user about the reloading.

In another example, the error detection and recovery module 36 maygenerate notification signals, speech prompts, and/or visual promptsthat notify the user of the error and that request feedback. Given theexample above, if the root cause is “no contact list,” the errordetection and recovery module 36 may output speech prompts and aninteraction sequence to the dialog manager module 34 that include“Sorry, it seems that you are trying to call a contact when no contactlist is available. Do you want to pair your phone?” Alternatively, giventhe example above, if the root cause is “no contact list,” the errordetection and recovery module 36 may generate notification signalsincluding visual prompts that display the above prompt and that includeselection icons for selection of a phone to download the contact listfrom.

Referring now to FIG. 2, a dataflow diagram illustrates the root causedetection and recovery module 36 in accordance with various embodiments.As can be appreciated, various embodiments of error detection andrecovery module 36, according to the present disclosure, may include anynumber of sub-modules. For example, the sub-modules shown in FIG. 2 maybe combined and/or further partitioned to similarly identify a rootcause in errors and to recover from the root cause. In variousembodiments, the data received by the root cause detection and recoverymodule 36 may be received from the ASR module 32, or other modules ofthe speech system 10. In various exemplary embodiments, the errordetection and recovery module 36 includes an error detection module 42,a root cause determination module 44, a root cause recovery module 46,an error model datastore 48, and a recovery processes datastore 50.

The error model datastore 48 stores one or more error models. The errormodels include one or more rules for processing command data todetermine a root cause. The recovery processes datastore 50 stores oneor more recovery processes. The recovery processes include one or moresteps for recovering from an error given a root cause.

The error detection module 42 receives as input first command data 52corresponding to the first recognized command from the first languagemodel and second command data corresponding to the second command data54 from the second language model. The error detection module 42compares the first command data 52 and the second command data 54. Ifsufficient differences exist (e.g., a threshold number of differenceshas been identified), then the error detection module 42 determines thatan error is present. When an error is present, the error detectionmodule 42 compares the first command data 52 and the second command data54 and generates similarity data 56 indicating the similarities and/ordissimilarities in the two commands.

The root cause determination module 44 receives as input the firstcommand data 52, the second command data 54, and the similarity data 56.The root cause determination module 44 processes the first command data52 and the second command data 54 based on the similarity data 56. Forexample, the root cause determination module 44 retrieves from the errormodel datastore 48 the error model defining one or more rules associatedwith the similarities and/or dissimilarities identified by thesimilarity data 56. The root cause determination module 44 thenprocesses the first command data 52 and the second command data 54 usingthe one or more rules to identify the root cause. The root causedetermination module 44 generates root cause data 58 based thereon.

The root cause recovery module 46 receives as input the root cause data58. Based on the root cause data 58, the root cause recovery module 46retrieves a recovery process from the recovery processes datastore 50and executes the recovery process. In various embodiments, if multiplerecovery processes are provided for a particular root cause, the rootcause recovery module 46 selects a recovery process to be used based ona priority scheme. For example, the priority scheme may indicate that arecovery process that does not require user interaction may be selectedfirst and a recovery processes requiring user interaction may beselected thereafter (e.g., if the first recovery process does not allowfor recovery) based on a level of interaction (e.g., those recoveryprocess having a minimal interaction being selected first, and so on).

In various embodiments, the recovery process, when executed by the rootcause recovery module 46 generates one or more control signals 60 to oneor more vehicle systems 13 to cause the vehicle system 13 to recoverfrom the error. For example, the recovery process may generate one ormore control signals 60 to a short range network system to cause theshort range communication to obtain a contact list from a paired device.As can be appreciated, other control signals can be generated as thedisclosure is not limited to the present examples. In variousembodiments, the recovery process, when executed by the root causerecovery module 46, generates one or more notification signals 62 tocause a vehicle system to notify the user of the root cause. Forexample, the recovery process may generate one or more notificationsignals 62 to the media system 20 to cause a message to be displayed bya display device.

In various embodiments, the recovery process, when executed by the rootcause recovery module 46, generates dialog prompt data and/orinteraction sequence data 64 that is received by the dialog managermodule 34. For example, the recovery process may generate dialog promptsthat are used by the dialog manager to communicate the root cause and/orerror to the user via the speech system 10. As can be appreciated, invarious embodiments, the recovery process can generate any combinationof control signals, notification signals, and/or dialog prompt dataand/or interaction sequence data 64 to recover from the error based onthe determined root cause.

Referring now to FIG. 3 and with continued reference to FIGS. 1-2, asequence diagram illustrates root cause identification and recoverymethods that may be performed by the speech system 10 in accordance withvarious exemplary embodiments. As can be appreciated in light of thedisclosure, the order of operation within the methods is not limited tothe sequential execution as illustrated in FIG. 3, but may be performedin one or more varying orders as applicable and in accordance with thepresent disclosure. As can further be appreciated, one or more steps ofthe methods may be added or removed without altering the spirit of themethod.

As shown, the method begins when a user speaks a command which isreceived by the HMI module 14. The HMI module 14, in turn, provides thespoken command to the speech recognition system with the first languagemodel 38 at 100 and to the speech recognition system with the secondlanguage model 40 at 110. The speech recognition system with the firstlanguage model 38 processes the spoken command at 120 to determine afirst recognized command. The speech recognition system with the firstlanguage model 38 provides the first command data 52 to the root causedetermination module 44 at 130. Substantially simultaneously orthereafter, speech recognition system with the second language model 40processes the spoken command at 140 to determine a second recognizedcommand. The speech recognition system with the second language model 40provides the second command data 54 to the root cause determinationmodule 44 at 150. The error detection module 42 compares the firstcommand data 52 and the second command data 54 with one or more decodersto determine whether an error exists at 160. If an error exists, theerror detection module 42 provides the first command data 52, the secondcommand data 54, and the similarity data 56 to the root causedetermination module 44 at 170. Optionally, if an error does not exist,confirmation data can be sent to the dialog manager module 34 indicatingthat the command is confirmed at 180.

If an error exists, the root cause determination module 44 retrieves oneor more rules from the error model datastore 48 based on the similaritydata 56 and processes the first command data 52 and the second commanddata 54 using the one or more rules to determine a root cause at 190.The root cause determination module 44 provides the root cause data 58to the root cause recovery module 46 at 200. The root cause recoverymodule 46 determines and executes a recovery process based on the rootcause data 58 at 210. In some instances, the recovery process includesgenerating control signals 60 and/or notification signals 62 to one ormore vehicle systems 13 at 220. In some instances, the recovery processincludes generating prompt data and/or interaction sequence data 64 tothe dialog manager module 34 at 230. As can be appreciated, recoveryprocesses can continue to be executed until the root cause has beenrecovered from, and/or it is determined that the root cause cannot berecovered from.

While at least one exemplary embodiment has been presented in theforegoing detailed description, it should be appreciated that a vastnumber of variations exist. It should also be appreciated that theexemplary embodiment or exemplary embodiments are only examples, and arenot intended to limit the scope, applicability, or configuration of thedisclosure in any way. Rather, the foregoing detailed description willprovide those skilled in the art with a convenient road map forimplementing the exemplary embodiment or exemplary embodiments. Itshould be understood that various changes can be made in the functionand arrangement of elements without departing from the scope of thedisclosure as set forth in the appended claims and the legal equivalentsthereof.

What is claimed is:
 1. A method of recovering from an error in a speechrecognition system, comprising: receiving, by a processor, a firstcommand recognized from a first speech utterance by a first languagemodel; receiving, by the processor, a second command recognized from thefirst speech utterance by a second language model; determining, by theprocessor, at least one of similarities and dissimilarities between thefirst command and the second command; determining, by the processor, aroot cause by processing the first command and the second command withat least one rule of an error model based on the similarities anddissimilarities; and selectively executing a recovery process based onthe root cause.
 2. The method of claim 1 wherein the recovery processincludes generating control signals to one or more vehicle systems toautomatically recover from the root cause.
 3. The method of claim 1wherein the recovery process includes generating at least one of promptdata and interaction sequence data to recover from the root cause. 4.The method of claim 1 further comprising: processing the first speechutterance with the first language model and a decoder; and processingthe first speech utterance with the second language model and thedecoder or an other decoder, wherein the decoder or the other decoder isincluded in a remote server or offline.
 5. The method of claim 4 whereinthe first language model is a Finite State Grammar model, and whereinthe second language model is a Statistical Language Model.
 6. The methodof claim 1 further comprising retrieving the at least one rule of theerror model based on the at least one of similarities anddissimilarities.
 7. The method of claim 6 wherein the at least one ruleis defined based on at least one of similarities and dissimilaritiesthat are commonly generated by at least two known language models. 8.The method of claim 1 further comprising retrieving the recovery processbased on the root cause.
 9. The method of claim 1 wherein theselectively executing the recovery process is based on a priorityscheme.
 10. The method of claim 9 wherein the priority scheme is basedon a level of interaction of a user.
 11. A system for recovering from anerror in a speech recognition system, comprising: a first non-transitorymodule that, by a processor, receives a first command recognized from afirst speech utterance from a first language model, receives a secondcommand recognized from the first speech utterance from a secondlanguage model, and determines at least one of similarities anddissimilarities between the first command and the second command; asecond non-transitory module that, by a processor, determines a rootcause by processing the first command and the second command with atleast one rule of an error model based on the similarities anddissimilarities; and a third non-transitory module that, by a processor,selectively executes a recovery process based on the root cause.
 12. Thesystem of claim 11 wherein the recovery process includes generatingcontrol signals to one or more vehicle systems to automatically recoveryfrom the root cause.
 13. The system of claim 11 wherein the recoveryprocess includes generating at least one of prompt data and interactionsequence data to recover from the root cause.
 14. The system of claim 11further comprising a fourth non-transitory module that, by a processor,processes the first speech utterance with the first language model and adecoder, and that processes the first speech utterance with the secondlanguage model and the decoder or an other decoder, wherein the decoderor the other decoder is included in a remote server or offline.
 15. Thesystem of claim 14 wherein the first language model is a Finite StateGrammar model and where the second language model is a StatisticalLanguage Model.
 16. The system of claim 11 wherein the secondnon-transitory module retrieves the at least one rule of the error modelbased on the at least one of similarities and dissimilarities.
 17. Thesystem of claim 16 wherein the at least one rule is defined based on atleast one of similarities and dissimilarities that are commonlygenerated by at least two known language models.
 18. The system of claim11 wherein the third non-transitory module retrieves the recoveryprocess based on the root cause.
 19. The system of claim 11 wherein thethird non-transitory module selectively executes the recovery processbased on a priority scheme.
 20. The system of claim 19 wherein thepriority scheme is based on a level of interaction of a user.